// let vm = null
// const sendThis = (_this) => {
//     vm = _this
// }
const appConfig = {
  paramslist: [], // 污染源下拉列表数据
  timeDefault: 'H',
  timeDefaultName: '时均值',
  timeList: [{
    value: '时均值',
    label: '时均值'
  }, {
    value: '日均值',
    label: '日均值'
  }],
  typeDefault: '国控空气站',
  typeList: [], // 获取地区列表下的国控空气站
  temDefault: 'temperature',
  temDefaultName: '温度',
  temList: [{
    value: '温度', label: '温度'
  }, {
    value: '湿度', label: '湿度'
  }],
  columns: [{ // 表格表头数据
    title: '监测点名称',
    dataIndex: 'name',
    key: 'name'
  }, {
    title: '设备名称',
    dataIndex: 'dname',
    key: 'dname'
  }, {
    title: '设备类型名称',
    dataIndex: 'typename',
    key: 'typename'
  }, {
    title: '绑定设备编号',
    dataIndex: 'type',
    key: 'type'
  }, {
    title: '设备状态',
    dataIndex: 'state',
    key: 'state'
  }, {
    title: '设备唯一识别码',
    dataIndex: 'code',
    key: 'code'
  }, {
    title: '位置',
    dataIndex: 'address',
    key: 'address'
  }, {
    title: '操作',
    dataIndex: 'cz',
    key: 'cz',
    scopedSlots: {
      customRender: 'operation'
    }
  }],
  selectedNum: 7, /* 表格可选中最大条数 */
  getTypeName: function (kqz) {
    if (kqz === '微型空气站') {
      return '微型设备'
    } else if (kqz === '小型空气站') {
      return '小型设备'
    } else if (kqz === '国控空气站') {
      return '国控设备'
    }
  },
  getMenuName: function (src) {
    if (src === 'menu1') {
      return '曲线对比'
    } else if (src === 'menu2') {
      return 'AQI占比'
    } else if (src === 'menu3') {
      return '同比环比'
    } else if (src === 'menu4') {
      return '污染物玫瑰图'
    }
  },
  downClickPar: function (val, type) { // 下拉选择
    // console.log(vm)
    // if (type === 'wry') {
    //   vm.ajaxParam[type] = val.replace(/\./g, '')
    // } else {
    //   if (val === '时均值') {
    //     vm.ajaxParam[type] = 'H'
    //   } else if (val === '日均值') {
    //     vm.ajaxParam[type] = 'D'
    //   } else {
    //     vm.ajaxParam[type] = val
    //   }
    // }
  },
  getAll: function (begin, end) { // 计算续住的总日期列表
    const arr1 = begin.split('-')
    const arr2 = end.split('-')
    const arr1_ = new Date()
    const arrTime = []
    arr1_.setUTCFullYear(arr1[0], arr1[1] - 1, arr1[2])
    const arr2_ = new Date()
    arr2_.setUTCFullYear(arr2[0], arr2[1] - 1, arr2[2])
    const unixDb = arr1_.getTime()
    const unixDe = arr2_.getTime()
    for (let k = unixDb; k <= unixDe;) {
      arrTime.push(this.datetimeparse(k, 'YY/MM/DD'))
      k = k + 24 * 60 * 60 * 1000
    }
    return arrTime
  },
  datetimeparse: function (timestamp, format, prefix) { // 计算续住的总日期列表-时间格式处理
    if (typeof timestamp === 'string') {
      timestamp = Number(timestamp)
    }
    // 转换时区
    const currentZoneTime = new Date(timestamp)
    let currentTimestamp = currentZoneTime.getTime()
    const offsetZone = currentZoneTime.getTimezoneOffset() / 60 // 如果offsetZone>0是西区，西区晚
    let offset = null
    // 客户端时间与服务器时间保持一致，固定北京时间东八区。
    offset = offsetZone + 8
    currentTimestamp = currentTimestamp + offset * 3600 * 1000
    let newtimestamp = null
    if (currentTimestamp) {
      if (currentTimestamp.toString().length === 13) {
        newtimestamp = currentTimestamp.toString()
      } else if (currentTimestamp.toString().length === 10) {
        newtimestamp = currentTimestamp + '000'
      } else {
        newtimestamp = null
      }
    } else {
      newtimestamp = null
    }
    const dateobj = newtimestamp ? new Date(parseInt(newtimestamp)) : new Date()
    const YYYY = dateobj.getFullYear()
    const MM = dateobj.getMonth() > 8 ? dateobj.getMonth() + 1 : '0' + (dateobj.getMonth() + 1)
    const DD = dateobj.getDate() > 9 ? dateobj.getDate() : '0' + dateobj.getDate()
    const HH = dateobj.getHours() > 9 ? dateobj.getHours() : '0' + dateobj.getHours()
    const mm = dateobj.getMinutes() > 9 ? dateobj.getMinutes() : '0' + dateobj.getMinutes()
    const ss = dateobj.getSeconds() > 9 ? dateobj.getSeconds() : '0' + dateobj.getSeconds()
    let output = ''
    const separator = '-'
    if (format) {
      // separator = format.match(/-/) ? '-' : '/'
      output += format.match(/yy/i) ? YYYY : ''
      output += format.match(/MM/) ? (output.length ? separator : '') + MM : ''
      output += format.match(/dd/i) ? (output.length ? separator : '') + DD : ''
      output += format.match(/hh/i) ? (output.length ? ' ' : '') + HH : ''
      output += format.match(/mm/) ? (output.length ? ':' : '') + mm : ''
      output += format.match(/ss/i) ? (output.length ? ':' : '') + ss : ''
    } else {
      output += YYYY + separator + MM + separator + DD
    }
    output = prefix ? (prefix + output) : output
    return newtimestamp ? output : ''
  },
  stringTime: function (now, type) {
    var year = now.getFullYear()
    var month = now.getMonth() + 1
    var day = now.getDate()
    var h = now.getHours()
    var m = now.getMinutes()
    var s = now.getSeconds()
    month = month < 10 ? '0' + month : month
    day = day < 10 ? '0' + day : day
    h = h < 10 ? '0' + h : h
    m = m < 10 ? '0' + m : m
    s = s < 10 ? '0' + s : s
    if (type === 'time') {
      const str = ' ' + h + ':' + m + ':' + s
      return str
    } else if (type === 'date') {
      const str = year + '-' + month + '-' + day
      return str
    } else if (type === 'month') {
      var monthLast = now.getMonth()
      monthLast = monthLast < 10 ? '0' + monthLast : monthLast
      const str = year + '-' + monthLast
      return str
    } else if (type === 'monthDate') {
      var monthLast1 = now.getMonth()
      monthLast1 = monthLast1 < 10 ? '0' + monthLast1 : monthLast1
      const str = year + '-' + monthLast1 + '-' + day + ' ' + h + ':' + m + ':' + s
      return str
    } else {
      const str = year + '-' + month + '-' + day + ' ' + h + ':' + m + ':' + s
      return str
    }
  },
  getPreMonth: function (date) { // 环比获取上个月日期
    var arr = date.split('-') // 用-将获取到的日期分割
    var year = arr[0] // 获取当前日期的年份
    var month = arr[1] // 获取当前日期的月份
    // var day = arr[2];  // 获取当前日期的日
    var month2 = parseInt(month) - 1 // 获取上个月的月份
    if (month2 === 0) {
      year = parseInt(year) - 1 // 获取上个月的年份
      month2 = 12
    }
    // var days2 = new Date(year, month2, 0) // 获取当前日期中月的天数
    // days2 = days2.getDate() // 天数
    // console.log(days2)
    // if (day > days2) { day = days2 }
    month2 = month2 < 10 ? '0' + month2 : month2 // 如果月份少于10  则月份格式为 01 02 .. 09 10 11 12
    var NewsDate = year + '-' + month2 // 将新的年月日用-拼接起来
    // var NewsDate = year + '-' + month2 + '-' + day;  //将新的年月日用-拼接起来
    return NewsDate
  },
  dateDiff: function (sDate1, sDate2) { // 获取两个日期相差天数 sDate1和sDate2是2006-12-18格式
    const startDate = Date.parse(sDate1)
    const endDate = Date.parse(sDate2)
    if (startDate > endDate) { return 0 }
    if (startDate === endDate) { return 1 }
    var days = (endDate - startDate) / (1 * 24 * 60 * 60 * 1000)
    return days
    // const idx1 = sDate1.indexOf(' ')
    // const idx2 = sDate2.indexOf(' ')
    // const date1 = idx1 === -1 ? sDate1 : sDate1.substring(0, idx1)
    // const date2 = idx2 === -1 ? sDate2 : sDate2.substring(0, idx2)
    // var aDate, oDate1, oDate2, iDays
    // aDate = date1.split('-')
    // oDate1 = new Date(aDate[0], aDate[1], aDate[2]) // 转换为12-18-2006格式
    // aDate = date2.split('-')
    // oDate2 = new Date(aDate[0], aDate[1], aDate[2])
    // iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24) // 把相差的毫秒数转换为天数
    // return iDays
  },
  getBeforeDate: function (n, type) {
    const d = new Date()
    let year = d.getFullYear()
    let mon = d.getMonth() + 1
    let day = d.getDate()
    const hours = d.getHours()
    const minutes = d.getMinutes()
    const seconds = d.getSeconds()
    if (day <= n) {
      if (mon > 1) {
        mon = mon - 1
      } else {
        year = year - 1
        mon = 12
      }
    }
    d.setDate(d.getDate() - n)
    year = d.getFullYear()
    mon = d.getMonth() + 1
    day = d.getDate()
    if (type === 'date') {
      const s = year + '-' + (mon < 10 ? ('0' + mon) : mon) + '-' + (day < 10 ? ('0' + day) : day)
      return s
    } else {
      const s = year + '-' + (mon < 10 ? ('0' + mon) : mon) + '-' + (day < 10 ? ('0' + day) : day) + ' ' + (hours < 10 ? ('0' + hours) : hours) + ':' + (minutes < 10 ? ('0' + minutes) : minutes) + ':' + (seconds < 10 ? ('0' + seconds) : seconds)
      return s
    }
  }
}
export default appConfig
